miosupportanddevelopmentfandomcom_ru-20200213-history
Support FAQ
Нужно вернуть пропавшие Docset_members insert into sdpo.docset_members select dsm1.*, 0 from sdpo_13_jan_14.docset_members as dsm1 left join sdpo.docset_members as dsm2 on dsm1.docset_id = dsm2.docset_id and dsm1.document_id = dsm2.document_id and dsm1.sync_client_id = dsm2.sync_client_id where dsm2.docset_id is null and dsm1.sync_client_id = 10852 ; Много ненужных стоимостей на некорректные даты Остались с прошлого года Сейчас нет таких(только 1.1.*), поэтому их можно просто удалить delete from states where sync_client_id = 10681 and calcdate not in('2008.1.1','2009.1.1','2010.1.1','2011.1.1','2012.1.1','2013.1.1','2014.1.1'); newОшибки некорректного значения поля в Transport при репликации Возникает эта ошибка (conatraint_violation), когда не заданы поля , нужно проставить их дефолтными значениями: update transport set ps_countries_id=13 where ps_countries_id <= 0; update transport set ps_engtype_id=501 where ps_engtype_id <= 0; update transport set ps_manufacturer_id=1781 where ps_manufacturer_id <= 0; update transport set transport_other_id=103 where transport_other_id = 0; update transport set ps_color_id=561 where ps_color_id <= 0; update transport set brandnames_id=841 where brandnames_id <= 0; update transport set transptype_id=602 where transptype_id <= 0; Нет подписантов по ОД, но успели утвердить Ничего не сделать. Исправлять в следующем периоде. Те кто должен обратиться с проблемой пустых карточек (25) т.н. «Список кривых» 10524 | | 10572 || 10583 || 10619 || 10635 || 10644 || 10649 || 10696 || 10742 || 10768 || 10800 || 10838 || 10986 || 11006 || 11018 || 11038 | 11039 || 11040 || 11041 || 11102 || 11133 || 16180 || 19881 20120 | 26289 У нас штук 25 ПО у которых в таблице транспорта или property недостает записей соответствующих object. Симптом - у ПО при открытии некоторых карточек открываются пустые формы. В общем, сейчас кину тебе запросы которыми я это правил (в локальной бд полученной от ПО - дальше исправленное синхронизовалось на сервер) 1) insert into property select rownum as ifs_id, -1110-rownum as id, "" as model, "" as info, objects_id, null as propnames_id, 1 as amount, null as propgroups_id, null as propsections_id, 'N' as is_budget, 2 as sync_state from ( select (select count(id) from objects as ro where ro.id < o.id and ifs_objtypes_id in (27,28))+100Ifs_id из property as rownum, id as objects_id from objects as o where ifs_objtypes_id in (27,28) and id not in (select objects_id from property) order by id); 2) insert into transport select rownum as ifs_id, -1000-rownum as id, objects_id, 'N' as is_budget, 2 as sync_state from ( select (select count(id) from objects as ro where ro.id < o.id and ifs_objtypes_id in (26))+100Ifs_id из transport as rownum, id as objects_id from objects as o where ifs_objtypes_id in (26) and id not in (select objects_id from transport) order by id); 3) update objects set sync_state=2 where ifs_objtypes_id in (26,27,28); Дальше можно синхронизироваться и попросить клиента удалить свою локальную БД или отправить ему исправленный вариант. Нужно удалить старые стоимости у правообладателя: 1) На сервере выполнить : delete from states where sync_client_id =ПО> and calcdate < '2013-01-01 00:00:00' 2) Удалить локальную БД и обновиться У всех не удалить, т.к. реестру нужны некоторые старые стоимости «если они были в прошлом году - они должны остаться , для отчетности всякой» Не сохраняется документ по ОД «Балансодержание» Причина – ОД при создании заняла ID чужой удаленной ОД(ID которой вписан в таблицу ID которые нужно удалять на клиентских БД, таким образом отображается удаление у клиента). Нужно удалить записи «об удалении» объекта и его сущностей(ОД, документы и т.д.). Это не критично, т.к. клиент, как правило, один. Call'' 'ShowLocalDeletion'(<'id' объекта>,<'id' текущего балансодержателя>); -- покажет, что записи об удалении действительно есть Call'' 'CancelLocalDeletion'(<'id' объекта>,<'id' текущего балансодержателя>); -- отменит удаление Затем необходимо удалить локальную БД и загрузить с сервера новую. «Перепутались» стоимости(от других объектов) Причина: какое то время метод проставления стоимостей не учитывал уникальность Id и происходила ошибочная запись в старые значения. Решение – удалять вручную запросом к БД.Нужно вернуть старые стоимости ранее 2013 года Нужно вернуть старые стоимости ранее 2013 года Выполнить на сервере insert into sdpo.states select * from <старый'' 'дамп' 'БД'>.states '' where sync_client_id=ПО> and calcdate <= '2012-12-32' and id not in '' ''( '' select s.id from sdpo.states as s '' '' where s.sync_client_id = 'ПО'>'' );